#ifndef __LINUX_PINCTRL_H__
#define __LINUX_PINCTRL_H__

#include "linux/device.h"
#include "linux/list.h"

struct pinctrl
{
    struct list_head node;
    struct device *dev;
    struct list_head states;
};

struct pinctrl_state
{
    const char *name;
    struct list_head node;
    struct list_head settings;
};

struct pinctrl *devm_pinctrl_get(struct device *dev);
struct pinctrl_state *pinctrl_lookup_state(struct pinctrl *p, char *name);
int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *state);

#endif
